﻿using DocumentFormat.OpenXml.Lite.DrawingML.Types;
using DocumentFormat.OpenXml.Lite.Xml;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;

namespace DocumentFormat.OpenXml.Lite.DrawingML.Chart.Properties
{
    [XmlRoot("pageSetup", Namespace = Constants.Chart)]
    public class PageSetup : XmlSerializable
    {
        [Optional]
        [XmlAttribute("paperSize", Namespace = Constants.Chart)]
        public Nullable<uint> PapaerSize { get; set; }

        [Optional]
        [XmlAttribute("firstPageNumber", Namespace = Constants.Chart)]
        public Nullable<uint> FirstPageNumber { get; set; }

        [Optional]
        [XmlAttribute("orientation", Namespace = Constants.Chart)]
        public Nullable<ST_PageSetupOrientation> Orientation { get; set; }

        [Optional]
        [XmlAttribute("blackAndWhite", Namespace = Constants.Chart)]
        public Nullable<bool> BlackAndWhite { get; set; }

        [Optional]
        [XmlAttribute("draft", Namespace = Constants.Chart)]
        public Nullable<bool> Draft { get; set; }

        [Optional]
        [XmlAttribute("useFirstPageNumber", Namespace = Constants.Chart)]
        public Nullable<bool> UseFirstPageNumber { get; set; }

        [Optional]
        [XmlAttribute("horizontalDpi", Namespace = Constants.Chart)]
        public Nullable<int> HorizontalDpi { get; set; }

        [Optional]
        [XmlAttribute("verticalDpi", Namespace = Constants.Chart)]
        public Nullable<int> VerticalDpi { get; set; }

        [Optional]
        [XmlAttribute("copies", Namespace = Constants.Chart)]
        public Nullable<uint> Copies { get; set; }

        public PageSetup() { }
    }
}
